/**
 * @file global.h
 * @author your name (you@domain.com)
 * @brief 全局变量
 * @version 0.1
 * @date 2025-04-01
 *
 * @copyright Copyright (c) 2025
 *
 */
#ifndef GLOBAL_H
#define GLOBAL_H

#include "stm32f407xx.h"
#include "xmzTypeDefine.h"
#include <stdbool.h>
#include <stdint.h>
typedef uint32_t u32;
typedef uint16_t u16;
typedef uint8_t  u8;
#define test_z 0

typedef int32_t s32;
typedef int16_t s16;
typedef int8_t  s8;

typedef const int32_t sc32; /*!< Read Only */
typedef const int16_t sc16; /*!< Read Only */
typedef const int8_t  sc8;  /*!< Read Only */

typedef __IO int32_t vs32;
typedef __IO int16_t vs16;
typedef __IO int8_t  vs8;

typedef __I int32_t vsc32; /*!< Read Only */
typedef __I int16_t vsc16; /*!< Read Only */
typedef __I int8_t  vsc8;  /*!< Read Only */

typedef uint32_t u32;
typedef uint16_t u16;
typedef uint8_t  u8;

typedef const uint32_t uc32; /*!< Read Only */
typedef const uint16_t uc16; /*!< Read Only */
typedef const uint8_t  uc8;  /*!< Read Only */

typedef __IO uint32_t vu32;
typedef __IO uint16_t vu16;
typedef __IO uint8_t  vu8;

typedef __I uint32_t vuc32; /*!< Read Only */
typedef __I uint16_t vuc16; /*!< Read Only */
typedef __I uint8_t  vuc8;  /*!< Read Only */

/*声明全局变量用于访问*/
extern volatile Time system_run_time;

/**
 * @brief gpio定义
 *
 */
#define POWER_DOWN_WAY 1 // 定义为1时使用线中断检测；为0时主循环检测

#endif
